﻿using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Windows;
using GalaSoft.MvvmLight.Messaging;
using SkyShell.Model;
using System.IO;
using GalaSoft.MvvmLight.Threading;

namespace SkyShell
{
    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : Application
    {



        private string _option;
        private string _sourcePath; 
        string _targetPath;

        protected override void OnStartup(StartupEventArgs e)
        {
            //Messenger.Default.Register<NotificationMessage>(this, msg =>
            //    {
            //        if (msg.Notification == "request_parameter")
            //        {
            //            if (_option == "/sync")
            //                Messenger.Default.Send<NotificationMessage<Tuple<string, string>>>(new NotificationMessage<Tuple<string, string>>(
            //                               new Tuple<string, string>(_sourcePath, _targetPath), _option));
            //        }
            //    });
         


            //if (e.Args.Length > 0)
            //{
            //    _option = e.Args[0];
            //    switch (_option)
            //    {
            //        case "/sync":
            //            {
            //                if (e.Args.Length > 2)
            //                {
                               
            //                    _sourcePath = e.Args[1];
            //                    _targetPath = e.Args[2];
            //                    //string bla;
            //                    //Coronox.SkyShell.Sky.CanSyncFolder(_sourcePath, out bla);
            //                }
            //                else
            //                {
            //                    App.Current.Shutdown(0);
            //                }
            //                break;
            //            }
            //        case "/stop":
            //            {
            //                if (e.Args.Length > 1 && Directory.Exists(e.Args[1]))
            //                {
            //                   // Messenger.Default.Send<NotificationMessage<NavigationTargets>>(new NotificationMessage<NavigationTargets>(NavigationTargets.StopSync, null));
            //                }
            //                else
            //                {
            //                    App.Current.Shutdown(0);
            //                }
            //                break;
            //            }
            //        default:
            //            {
            //                App.Current.Shutdown(0);
            //                break;
            //            }
            //    }
            //}
            //else
            //{
            //    App.Current.Shutdown(0);
            //}


            //  
            base.OnStartup(e);
           
            DispatcherHelper.Initialize();
        }
    }
}
